package epsofts.Neutron.mesures;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;

import epsofts.Neutron.Plateau;
import epsofts.Neutron.eCase;

public class GenerateurPlateaux {

	private static Random rnd = new Random();
	
	private GenerateurPlateaux() {}
	
	/**
	 * Génère count plateaux quasi-finaux (dont la partie peut être finie en 1 tour).
	 * Ces plateaux peuvent servir à valider une fonction d'évaluation IA.
	 * @param count Nombre de plateaux à générer.
	 * @return Set de plateaux.
	 */
	public static HashSet<Entry<Plateau, eCase>> genererPlateauxQuasiFinaux(int count)
	{
		HashMap<String, Entry<Plateau, eCase>> results = new HashMap<String, Map.Entry<Plateau, eCase>>();
		while(results.size() < count)
		{
			Entry<Plateau, eCase> entry = Plateau.genererPlateauQuasiFinal();
			results.put(entry.getKey().toString(), entry);
		}
		
		return new HashSet<Entry<Plateau,eCase>>(results.values());
	}
}
